#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include"stack.h"
using std::cout;
using std::endl;


//int findKthLargest(vector<int>& nums, int k) {
//    priority_queue<int>que;
//    for (auto x : nums)
//        que.push(x);
//    for (int i = 0; i < k; i++)
//    {
//        que.pop();
//    }
//    return que.top();
//}
//
//int main()
//{
//	int a[] = { 3,2,1,5,6,4 };
//	vector<int>v(a, a + 6);
//    findKthLargest(v, 2);
//	return 0;
//}

//void test()
//{
//	using namespace usr;
//	stack<int>st;
//	st.push(2);
//	st.push(3);
//	st.push(4);
//	while (!st.empty())
//	{
//		cout << st.top() << ' ';
//		st.pop();
//	}
//	cout << endl;
//}

//void test()
//{
//	using namespace usr;
//	queue<int>que;
//	que.push(2);
//	que.push(3);
//	que.push(4);
//	while (!que.empty())
//	{
//		cout << que.front() << ' ';
//		que.pop();
//	}
//	cout << endl;
//}

#include"priority_queue.h"
void test()
{
	using namespace usr;
	priority_queue<int,std::vector<int>,less<int>>que;
	que.push(1);
	que.push(7);
	que.push(4);
	que.push(3);
	que.push(8);
	while (!que.empty())
	{
		cout << que.front() << ' ';
		que.pop();
	}
	cout << endl;
}

int main()
{
	test();
	return 0;
}